<?php
// дамп для тестовой базы данных
date_default_timezone_set('Europe/Kiev');
// кодировка консоли
define('TEST_APPLICATION_CHARSET_CONSOLE', 'CP866');
ob_start('ArmTestWinIconv');

// отображения - логирования ошибок.
error_reporting( E_ALL | E_STRICT );
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('log_errors_max_len', 1024);


define('APPLICATION_TIME_START', microtime(true));

/**
 * Путь к дампу тестовой базы
 */
define('TEST_PATH_SQL_DAMP_BASE', realpath(dirname(__FILE__) . '/arm_system_test.sql'));

// путь к директории library
define('LIBRARY_PATH', realpath(dirname(__FILE__) . '/../../library'));

// путь к директории application
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../../application'));


// Define application environment
// Считываем сотояния приложения с конфига.
define('APPLICATION_ENV', 'testing');

// логируем все ошибки php
    if(false === is_dir(APPLICATION_PATH . '/temp/log')) {
        mkdir(APPLICATION_PATH . '/temp/log');
    }
ini_set('error_log', APPLICATION_PATH . '/temp/log/_php_error_log');

// путя для include_path
$arrayPaths = array();

// путь к библиотекам
$arrayPaths[] = LIBRARY_PATH;

// путь к модулям
define('MODULE_PATH', APPLICATION_PATH . '/modules');

// Ensure library/ is on include_path
$arrayPaths[] = get_include_path();
set_include_path(implode(PATH_SEPARATOR, $arrayPaths));
unset($arrayPaths);

/** Включаем авто загрузку обьектов */
require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('Arm_');
$autoloader->setFallbackAutoloader(true);

$autoloader->pushAutoloader(new Arm_Loader_Model());

/**
 * Функция перекодирует выходной поток в кодировку консоли.
 * @param $str
 */
function ArmTestWinIconv($str)
{
    if(TEST_APPLICATION_CHARSET_CONSOLE === 'UTF-8') {
        return $str;
    }
    return iconv('UTF-8',  TEST_APPLICATION_CHARSET_CONSOLE . '//IGNORE', $str);
}
